کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

پروژه سی شارپ - برنامه فراخوانی API های ویندوز

پروژه سی شارپ - برنامه فراخوانی API های ویندوز
شرح مختصر پروژه

برنامه فراخوانی API های ویندوز

توضیحات پروژه

برنامه فراخوانی API های ویندوز

(برنامه خاموش کردن و ریستارت سیستم)

پروژه سی شارپ - برنامه فراخوانی API های ویندوز

یکی از مزایای دسترسی به DLL ها، استفاده از آنان به منظور کارهای سیستمی است. کارهایی همچون خاموش کردن و ریستارت کردن سیستم میتـواند در مواقع ضروری (همچون زمانی که بعد از نصب نرم افزار برای اعمال تغییرات رجیستری نیاز به راه اندازی دوباره سیستم می باشد) مورد استفاده قرار بگیرد.

برای استفاده از این امکانات باید کتابخانه ای از ویندوز که دستورات مربوطه در آن قرار دارند به پروژه اضافه شود:

[DllImport("user32.dll")]

حال قصد داریم یکی از توابع موجود در این کتابخانه به نام ExitWindowsEx را فراخوانی نماییم. بدین منظور لازم است که به مترجم برنامه اعلام نماییم که قصد استفاده از تابعی را داریم که تعریف این تابع در کد ما وجود ندارد بلکه بدنه این تابع در کتابخانه ای که وارد کرده ایم موجود است. بدین منظور از کد زیر استفاده می نماییم:

public static extern int ExitWindowsEx(int uFlags, int dwReason);

حال این تابع قابل استفاده است. ابتدا به توضیحی کوچک در مورد این تابع و پارامترهای آن می پردازیم:

1. پارامتر اول مربوط به تعیین نوع خروج از سیستم عامل است:

· EWX_POWEROFF: خاموش کردن کامل سیستم.

· EWX_REBOOT: راه اندازی مجدد سیستم عامل.

· EWX_DEFER: با استفاده از این کلمه راه اندازی مجدد سیستم به تاخیر می افتد و به زمانی موکول می شود که هیچ درخواست فعالی برای راه اندازی مجدد سیستم نباشد.

· EWX_PROMPT: راه اندازی مجدد سیستم را با اجازه کاربر انجام می دهد.

نکته: دو گزینه آخر باید به صورت منطقی با دو گزینه اول ترکیب شوند و به تنهایی کاری انجام نمی دهند:

ExitWindowsEx(EWX_REBOOT | EWX_DEFER, 0);

نکته: می توان به جای استفاده از این کلمات عدد متناظر آنها را وارد کرد، شروع این شمارنده از صفر می باشد.

2. این پارامتر همیشه صفر می باشد.

اگر این متد با موفقیت انجام گردد خروجی آن عددی غیرصفر می باشد در غیر اینصورت تابع عدد صفر را برمی گرداند.

1394/07/27 7634 1097
رمز عبور : tahlildadeh.com یا www.tahlildade.com
نظرات شما

نظرات خود را ثبت کنید...